package com.umpay.dto.merBusi.req.quickpayment;

import com.umpay.annotation.Pattern;
import com.umpay.verify.Verifiable;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;

public class QuickPaymentConfirmBusiReq implements Verifiable{

	@NotEmpty(message = "rpid不能为空")
	@Pattern(message="rpid格式不正确")
	public String rpid;
	
	@NotEmpty(message = "版本号不能为空")
	@Pattern(message="版本号格式不正确")
	public String version;
	
	@NotEmpty(message = "请求日期不能为空")
	@Pattern(message="请求日期格式不正确")
	public String reqDate;
	
	@NotEmpty(message = "请求时间不能为空")
	@Pattern(message="请求时间格式不正确")
	public String reqTime;
	
	@Pattern(message = "交易号格式不正确")
	private String notifyUrl;	//商户通知地址
	
	@NotNull(message = "商户流水号不能为空")		
	@Pattern(message = "商户流水号格式不正确")
	private String merTrace;
	
	@NotNull(message = "商户号不能为空")		
	@Pattern(message = "商户号格式不正确")
	private String merId;
	
	@NotNull(message = "订单号不能为空")		
	@Pattern(message = "订单号格式不正确")
	private String tradeNo;
	
	@NotNull(message = "金额不能为空")		
	@Pattern(message = "金额格式不正确")
	private String amount;
	
	@NotNull(message = "验证码不能为空")		
	@Pattern(message = "验证码格式不正确")
	private String verifyCode;
	
	@NotNull(message = "银行预留手机号不能为空")		
	@Pattern(message = "银行预留手机号格式不正确")
	private String bankMobileId;
	
	@Pattern(message = "卡号格式不正确")
	private String cardId;
	
	@Pattern(message = "持卡人姓名格式不正确")
	private String cardHolder;
	
	@Pattern(message = "证件类型格式不正确")
	private String identityType;
	
	@Pattern(message = "证件号格式不正确")
	private String identityCode;
	
	@Pattern(message = "信用卡有效期格式不正确")
	private String validDate;
	
	@Pattern(message = "cvv2格式不正确")
	private String cvv2;
	
	@Pattern(message = "支付协议号格式不正确")
	private String pagreementId;

	@Pattern(message = "业务产品号格式不正确")
	private String bproductId;
	
	private String accessName;
	
	private String accessType;

	private String depBankMerId;
	public String getMerId() {
		return merId;
	}

	public void setMerId(String merId) {
		this.merId = merId;
	}

	public String getRpid() {
		return rpid;
	}

	public void setRpid(String rpid) {
		this.rpid = rpid;
	}

	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	public String getReqDate() {
		return reqDate;
	}

	public void setReqDate(String reqDate) {
		this.reqDate = reqDate;
	}

	public String getReqTime() {
		return reqTime;
	}

	public void setReqTime(String reqTime) {
		this.reqTime = reqTime;
	}

	public String getBproductId() {
		return bproductId;
	}

	public void setBproductId(String bproductId) {
		this.bproductId = bproductId;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getMerTrace() {
		return merTrace;
	}

	public void setMerTrace(String merTrace) {
		this.merTrace = merTrace;
	}

	public String getTradeNo() {
		return tradeNo;
	}

	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getVerifyCode() {
		return verifyCode;
	}

	public void setVerifyCode(String verifyCode) {
		this.verifyCode = verifyCode;
	}

	public String getBankMobileId() {
		return bankMobileId;
	}

	public void setBankMobileId(String bankMobileId) {
		this.bankMobileId = bankMobileId;
	}

	public String getCardId() {
		return cardId;
	}

	public void setCardId(String cardId) {
		this.cardId = cardId;
	}

	public String getCardHolder() {
		return cardHolder;
	}

	public void setCardHolder(String cardHolder) {
		this.cardHolder = cardHolder;
	}

	public String getIdentityType() {
		return identityType;
	}

	public void setIdentityType(String identityType) {
		this.identityType = identityType;
	}

	public String getIdentityCode() {
		return identityCode;
	}

	public void setIdentityCode(String identityCode) {
		this.identityCode = identityCode;
	}

	public String getValidDate() {
		return validDate;
	}

	public void setValidDate(String validDate) {
		this.validDate = validDate;
	}

	public String getCvv2() {
		return cvv2;
	}

	public void setCvv2(String cvv2) {
		this.cvv2 = cvv2;
	}

	public String getPagreementId() {
		return pagreementId;
	}

	public void setPagreementId(String pagreementId) {
		this.pagreementId = pagreementId;
	}
	
	public String getAccessName() {
		return accessName;
	}

	public void setAccessName(String accessName) {
		this.accessName = accessName;
	}

	public String getAccessType() {
		return accessType;
	}

	public void setAccessType(String accessType) {
		this.accessType = accessType;
	}

	public String getDepBankMerId() {
		return depBankMerId;
	}

	public void setDepBankMerId(String depBankMerId) {
		this.depBankMerId = depBankMerId;
	}

	@Override
	public String toString() {
		return "QuickPaymentConfirmBusiReq [rpid=" + rpid + ", version=" + version + ", reqDate=" + reqDate
				+ ", reqTime=" + reqTime + ", notifyUrl=" + notifyUrl + ", merTrace=" + merTrace + ", merId=" + merId
				+ ", tradeNo=" + tradeNo + ", amount=" + amount + ", verifyCode=" + verifyCode + ", bankMobileId="
				+ bankMobileId + ", cardId=" + cardId + ", cardHolder=" + cardHolder + ", identityType=" + identityType
				+ ", identityCode=" + identityCode + ", validDate=" + validDate + ", cvv2=" + cvv2 + ", pagreementId="
				+ pagreementId + ", bproductId=" + bproductId + ", accessName=" + accessName + ", accessType="
				+ accessType + ", depBankMerId=" + depBankMerId + "]";
	}
	
}
